#pragma once
#include <iostream>

const int SampleByte = sizeof(int16_t);
const int Const_SampleRate = 96000;
const int Const_BandWidth_Collect = Const_SampleRate/2;
const int WriteModeCover = std::ios::out | std::ios::trunc | std::ios::binary;
const int WriteModeAdd = std::ios::out | std::ios::app | std::ios::binary;

const enum class ConstVar
{
	KByte = 1024,
	MByte = 1024 * KByte,
	GByte = 1024 * MByte,
};

enum class EWORKMODE
{
	OffLine_Folder,	
	RealTime_FileStream,
	RealTime_DataStream,
	OffLine_File,
};

enum class DetectAlgorithmType
{
	Auto_Detect = -1,// power detect algorithm
	Power,// power detect algorithm
	Relate_5K_DAMA,		// 5k_DAMA相关 detect algorithm
	Relate_25K_DAMA,	// 25k_DAMA相关
	Relate_CPM,			// CPM相关
	Relate_BPSK,		// BPSK相关
	Relate_QPSK,		// BPSK相关
	Relate_FSK,			// FSK相关
	Relate_AM,			// AM相关
	Relate_ASK,			// ASK相关
	Relate_FM,			// FM相关
};

enum class EsAlgorithmType
{
	E_FFT,
	E_SM,			//（求和法）
	E_Custom,
	E_DIFFXC,		//（差分互相关法）	
};


const int collect_column = 0x01;		//Collect
const int detect_column = 0x02;			//Det
const int estimate_column = 0x04; 		//Est
const int status_column = 0x08;			//Status
const int stat_column = 0x10;			//Stat Info
const int all_column = collect_column| detect_column| estimate_column| status_column| stat_column;			//所有的字段

enum class DetMethod
{
	Power,
	Relate
};